From: Jasper St. Pierre Date: Fri, 21 Dec 2012 18:23:39 +0000 (-0500) Subject: volume: Put canberra sound events on output streams only X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~5164 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1964b546278277bbcde187a1b672ae7893b38eed;p=gnome-shell.git volume: Put canberra sound events on output streams only This seems to be an oversight in the original volume menu code that slipped in by accident. --- diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js index b08f3d6ff..63768897e 100644 --- a/js/ui/status/volume.js +++ b/js/ui/status/volume.js @@ -38,7 +38,6 @@ const StreamSlider = new Lang.Class({ this._title = new PopupMenu.PopupMenuItem(title, { reactive: false }); this._slider = new PopupMenu.PopupSliderMenuItem(0); this._slider.connect('value-changed', Lang.bind(this, this._sliderChanged)); - this._slider.connect('drag-end', Lang.bind(this, this._notifyVolumeChange)); this.item.addMenuItem(this._title); this.item.addMenuItem(this._slider); @@ -117,11 +116,6 @@ const StreamSlider = new Lang.Class({ this._stream.push_volume(); }, - _notifyVolumeChange: function() { - global.cancel_theme_sound(VOLUME_NOTIFY_ID); - global.play_theme_sound(VOLUME_NOTIFY_ID, 'audio-volume-change'); - }, - _updateVolume: function() { let muted = this._stream.is_muted; this._slider.setValue(muted ? 0 : (this._stream.volume / this._control.get_vol_max_norm())); @@ -151,6 +145,11 @@ const OutputStreamSlider = new Lang.Class({ Name: 'OutputStreamSlider', Extends: StreamSlider, + _init: function(control, title) { + this.parent(control, title); + this._slider.connect('drag-end', Lang.bind(this, this._notifyVolumeChange)); + }, + _connectStream: function(stream) { this.parent(stream); this._portChangedId = stream.connect('notify::port', Lang.bind(this, this._portChanged)); @@ -179,6 +178,11 @@ const OutputStreamSlider = new Lang.Class({ this._portChangedId = 0; }, + _notifyVolumeChange: function() { + global.cancel_theme_sound(VOLUME_NOTIFY_ID); + global.play_theme_sound(VOLUME_NOTIFY_ID, 'audio-volume-change'); + }, + _portChanged: function() { let hasHeadphones = this._findHeadphones(this._stream); if (hasHeadphones != this._hasHeadphones) {